In software systems that support an asynchronous application programming interface (API), an application may issue an asynchronous read request and perform other tasks. While executing the other tasks, the application may be notified that the data corresponding to the asynchronous read request is available. The application may then retrieve the data.
In software systems that support a synchronous API, an application may issue a synchronous read request. If the data corresponding to the synchronous read request is not currently available, then the application may enter into a wait state in which no other task is performed by the application. After being notified that the data corresponding to the synchronous read request is available, the application may retrieve the data and exit from the wait state.
Synchronous and asynchronous APIs may be used to issue other requests that are different from read requests, such as, write requests, append requests, delete requests, other Input/Output (I/O) requests, etc. If the request is asynchronous then the calling application does not wait while the request is pending, whereas if the request is synchronous then the calling application waits while the request is pending.